import {reqGetSearchInfo} from '@/api'
//state:仓库存储数据的地方
const state = {
    searchList:{}
};
//mutations:修改state的唯一手段
const mutations = {
    GETSEARCHLIST(state,search){
        state.searchList = search;
    }
};
//actions：处理action，可以书写自己的业务逻辑，也可以处理异步
const actions = {
    //获取search模块的数据
    async getSearchList({commit},params={}){
        //params形参 是当用户派发action的时候第二个参数传递过来的，至少是一个空对象
        let result = await reqGetSearchInfo(params);
        if (result.code == 200) {
            commit('GETSEARCHLIST',result.data);
        }
    }
};
//getters:理解为计算属性，用于简化仓库数据，让组件获取仓库的数据更方便
//项目中getter主要的作业是：简化仓库数据
const getters = {
    //当前行参的state是当前仓储的，并非大仓库中那个state
    goodsList(state){
        //以访没法请求或者请求失败为无返回值空对象，所有必须给个空数组
        return state.searchList.goodsList||[];
    },
    trademarkList(state){
        return state.searchList.trademarkList||[];
    },
    attrsList(state){
        return state.searchList.attrsList||[];
    }
};
//对外暴露Store类的一个实例
export default {
    state,
    mutations,
    actions,
    getters
}